// 引入express
const express = require("express");

// 创建应用对象 
const  app  = express();

// 创建路由规则
app.get("/server", (request, response)=>{
    // 设置响应头，   设置允许跨域
    response.setHeader("Access-Control-Allow-Origin", "*");
    // 设置响应
    response.send("hello ajax")
});

app.post("/serverPOST", (request, response)=>{
    // 设置响应头，   设置允许跨域
    response.setHeader("Access-Control-Allow-Origin", "*");
    // 设置响应
    response.send("hello ajax post")
});

app.all("/server", (request, response)=>{
    // 设置响应头，   设置允许跨域
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Access-Control-Allow-Headers", "*");
    // response.setHeader("Access-Control-Allow-Headers", "name");
    // 设置响应
    response.send("hello ajax post")
});

app.get("/jq-server", (request, response)=>{
    // 设置响应头，   设置允许跨域
    // response.setHeader("Access-Control-Allow-Origin", "*");
    // 设置响应
    response.send("get-hello ajax")
});
app.post("/jq-server", (request, response)=>{
    // 设置响应头，   设置允许跨域
    response.setHeader("Access-Control-Allow-Origin", "*");
    // 设置响应
    response.send("post-hello ajax")
});


app.get("/jsonp", (request, response)=>{
    // 设置响应头，   设置允许跨域
    // response.setHeader("Access-Control-Allow-Origin", "*");


    const data = {
        exist : 1, 
        msg:"用户名存在"
    }

    // 将数据转换为字符串
    let str  = JSON.stringify(data);

    // 设置响应,使用下面的这种写法，表示是返回一个函数，而不是一个字符串。
    response.send(`handle(${str})`)
});


app.get("/jsonp2", (request, response)=>{
    // 设置响应头，   设置允许跨域
    const data = {
        exist : 22, 
        msg:"用户名存在222"
    }

    // 将数据转换为字符串
    let str  = JSON.stringify(data);

    // 回电函数
    let cb = request.query.callback;
    
    // 设置响应,使用下面的这种写法，表示是返回一个函数，而不是一个字符串。
    response.send(`${cb}(${str})`)
});

app.get("/cors1", (request, response)=>{
    
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Access-Control-Allow-Method", "*");
    
    // 设置响应http://127.0.0.1:8088/
    response.send("cors~~~")
});

// 监听端口启动服务
app.listen(8088, ()=>{
    console.log("~~~~~~~~~~~~服务启动成功，127.0.0.1:8088")
})

